In 1989, Hewlett Packard defined the digital data storage (DDS) format for data storage. Digital data storage (DDS) is a format for storing and backing up computer data on magnetic tape that evolved from digital audio tape (DAT) technology, which was originally created for CD quality audio recording. The (DDS) format is defined in ISO/ICE standard 10777:1991 E. DDS format devices have developed through versions DDS-1 to DDS-4, through DAT72, and DAT160 tape formats.
DDS tape drives use helical scanning for recording. There are two read heads and two write heads. The read heads verify the data which has been written to the tape. If errors are present, the write heads can re-write the data in a same pass during recording.
DDS formats use C1 and C2 error correction codes to apply redundancy to user data. Additionally, digital data storage (DDS) tape drives can correct erroneous data by the use of double C3 error correction. Double C3 correction works by splitting a DDS format group of data into a two dimensional array of bytes. This array has 44 columns, and the number of rows is determined by the number of user data bytes in a column. A group is split into 22 frames with 2 columns per frame and the number of C3 codewords is equal to the number of user data bytes in a column. For example, if a group is 1,537,448 bytes, then there will be 68,884 rows.
Double C3 correction takes each row of 46 bytes and can correct up to two of these bytes if their locations are known, or one of those bytes if their locations are unknown. A C3 frame consisting of 2 additional columns is computed from the rows (in the example from the 68,884 rows). The C3 frame is added to the existing 44 columns (existing 22 frames of user data). It is a requirement that the position of the “bad” bytes are known prior to correction. If another of these 46 bytes is unknowingly in error, then a mis-correction can occur such that the C3 algorithm treats the C3 correction as having been successful, but in fact a corruption has occurred.
Because of this, further verification is performed after double C3 correction. This verification takes the form of calculating the check sum of the corrected tracks, and comparing this with the check sum that was written to tape in the meta data portions of the track.
Therefore, for double C3 correction to be reliable, the track check sums of the corrected tracks should be made available.
DDS formats store each one of the 46 track's check sums in two tracks sub code—these two tracks being the sister tracks (POS and NEG azimuths) in each of the 23 frames.
A situation occurs that if a complete frame is unreadable then it is not possible to retrieve the check sum sub code information from either track of a frame. If one of these tracks requires C3 correction, then it cannot be post correction verified, because the checksums for a track are stored in the meta data portions of the frame containing that track.
DAT 160 drives support double C3 correction for DAT 160 tape formats. This means that two C2 uncorrectable tracks in any group can be corrected. Following C3 correction, the corrected tracks have to be check sum verified to guard against mis-correction. This is done by comparing the re-calculated track check sum of the corrected track data with the check sum information contained in the sub code. In known products, a track's check sum is stored in the sub code of the two tracks in the group, that is, in the track in question, and the other track in the same frame. A situation occurs that if both tracks of a frame are completely unreadable, then although both these tracks can be restored through the use of double C3 correction, the check sums cannot be verified as no track checksum information will have been successfully retrieved from tape.